package user;

import book.BookList;
import operation.IOperation;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 黎鹤舞
 * Date: 2023-11-21
 * Time: 16:32
 */

//这里是父类抽象类，无论是普通用户还是管理员用户，其都有相同的属性内容
public abstract class User {

    protected String name;
    //父类的菜单抽象函数，用于向上转型调用函数
    public abstract int menu();

    //操作管理:
    //定义一个操作接口数组:用来存储操作方法信息
    protected IOperation[] iOperations;

    //有了操作方法信息，需要根据用户输入的选择值来进行相应的方法调用
    //这里的实例化的书架对象信息也要进行传递(我们在这里默认的是只有一个书架对象)
    public abstract void doOperation(int choice, BookList bookList);

    //构造方法:
    public User(String name) {
        this.name = name;
    }
}
